---
title: 环境变量 API 参考
sidebar:
  label: 'astro:env'
i18nReady: true
tableOfContents:
  minHeadingLevel: 2
  maxHeadingLevel: 6
---
import Since from '~/components/Since.astro';
import ReadMore from '~/components/ReadMore.astro';

<p><Since v="5.0.0" /></p>

`astro:env` API 允许你为已设置的环境变量配置类型安全的 schema。这允许你指示它们是否应该在服务器或客户端上可用，并定义它们的数据类型和附加属性。有关示例和使用说明，请 [参阅 `astro:env` 指南](/zh-cn/guides/environment-variables/#类型安全的环境变量)。

## 从 `astro:env` 中导入

```js
import { 
  getSecret,
 } from 'astro:env/server';
```

### `getSecret()`

<p>
<Since v="5.0.0" />
</p>

`getSecret()` 助手函数允许你通过环境变量的键来检索环境变量的原始值。

例如，你可以将布尔值作为字符串来检索：

```js
import {
  FEATURE_FLAG, // boolean
  getSecret
} from 'astro:env/server'

getSecret('FEATURE_FLAG') // string | undefined
```

这对于获取你 schema 中未定义的私密变量也很有用，例如依赖于数据库或 API 中动态数据的私密变量。

如果你需要以编程方式来检索环境变量，我们建议使用 `getSecret()` 而不是 `process.env`（或等效项）。由于其实现是由你的适配器提供的，因此如果你切换适配器，则无需更新所有调用。它在开发和构建中默认为 `process.env`。
